package com.base.social.config;

/**
 * OAuth平台的API地址的统一接口，提供以下方法：
 * 1) {@link ClassName#fetchClassName()}: 获取类名. 必须实现
 * <p>
 * 注：
 * ①、如需通过扩展实现第三方授权，请参考{@link AuthDefaultSource}自行创建对应的枚举类并实现{@link ClassName}接口
 * ②、如果不是使用的枚举类，那么在授权成功后获取用户信息时，需要单独处理source字段的赋值
 * ③、如果扩展了对应枚举类时，在{com.tcm.sso.api.Auth#login(AuthCallback)}中可以通过{@code xx.toString()}获取对应的source
 *
 * @author becker
 * @version 0.0.1
 * @since 0.0.1
 */
public interface ClassName {

    /**
     * 已存在的类名
     *
     * @return string
     */
    String fetchClassName();

}
